
// 获取dom元素
const loginA = document.querySelector('.login-a')//登陆div中的超链接
const loginDiv = document.querySelector('.login')//登陆div
const registerA = document.querySelector('.register-a')//注册div中的超链接
const registerDiv = document.querySelector('.register')//注册div

//登陆div中的超链接 绑定点击事件
loginA.addEventListener('click', function (e) {
    //先隐藏 登陆 div
    loginDiv.style.display = 'none'
    // 后显示 注册 div
    registerDiv.style.display = 'block'
})
//实现div中的超链接 绑定点击事件
registerA.addEventListener('click', function () {
    //1 先隐藏 注册div
    registerDiv.style.display = 'none'
    //先显示 登陆 div
    loginDiv.style.display = 'block'
})



// 登陆
const loginForm = document.querySelector('.login form')
loginForm.addEventListener('submit', async function (e) {
    console.log(444);
    e.preventDefault()
    // 快速获取表单数据
    const data = serialize(loginForm, { hash: true, empty: true });
    // console.log(data);

    if (!/[a-zA-Z0-9_]{2,30}/.test(data.username)) {
        // 不合法
        toastr.error("用户名不合法2-30")
        return
    }
    if (!/[a-zA-Z0-9_]{6,30}/.test(data.password)) {
        // 不合法
        toastr.error("密码不合法6-30")
        return
    }
    axios({
        url: "/api/login",
        method: "post",
        data
    }).then(result => {
        // console.log("成功");
        console.log(result);
        // 弹出窗口提示用户
        toastr.success(result.data.message);
        console.log(result);

        // 把敏感信息存储到本地存储中 ...  -  jwt 解决方案 
        localStorage.setItem('token', result.data.token)
        // 延迟一会再跳转
        setTimeout(() => {
            location.href = "dashboard.html";
        }, 1500);


    }).catch(error => {
        toastr.error(error)
    })

})
// 注册
const registerForm = document.querySelector('.register form')
registerForm.addEventListener('submit', async function (e) {
    console.log(444);
    e.preventDefault()
    // 快速获取表单数据
    const data = serialize(registerForm, { hash: true, empty: true });
    // console.log(data);

    if (!/[a-zA-Z0-9_]{2,30}/.test(data.username)) {
        // 不合法
        toastr.error("用户名不合法2-30")
        return
    }
    if (!/[a-zA-Z0-9_]{6,30}/.test(data.password)) {
        // 不合法
        toastr.error("密码不合法6-30")
        return
    }
    axios({
        url: "/api/register",
        method: "post",
        data
    }).then(result => {
        console.log("成功");
        console.log(result);
        // 弹出窗口提示用户
        toastr.success("注册成功");
        // 把敏感信息存储到本地存储中 ...  -  jwt 解决方案 
        localStorage.setItem('token', result.data.token)
    }).catch(error => {
        toastr.error(error.response.data.message)
    })

})
